home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / masa / masa.bas next >
BASIC Source File  |  1994-06-01  |  5KB  |  147 lines

  1. 10 'お習字ソフト 「雅彦ョ」 Ver 2.0           Presented by T.G(源五郎丸 正義)
  2. 20 OUT &H05EC,0:STOP OFF
  3. 30 COLOR 4,%13:CLS:SCREEN@0:MOUSE 0:PALETTE:MOUSE 1,,,1:ON ERROR GOTO 1170
  4. 40 A$=CHR$(&HFF,&HF9,&HFF,&HF0,&HFF,&HE0,&HFF,&HC0,&HFF,&H81,&HFF,&H03,&HFE,&H07,&HFC,&H0F,                     &HF8,&H1F,&HF0,&H3F,&HE0,&H7F,&HC0,&HFF,&H81,&HFF,&H83,&HFF,&H07,&HFF,&H1F,&HFF)
  5. 50 B$=CHR$(&H00,&H00,&H00,&H06,&H00,&H0E,&H00,&H1E,&H00,&H3C,&H00,&H78,&H00,&HF0,&H01,&HE0,                     &H03,&HC0,&H07,&H80,&H07,&H00,&H1A,&H00,&H3C,&H00,&H18,&H00,&H00,&H00,&H00,&H00)
  6. 60 MOUSE 2,A$,B$, 0, 15
  7. 70 H=0:Z=10:C=0:ZO=1:GE=.5!
  8. 80 FOR A=0 TO 4
  9. 90 READ P,G,R,B
  10. 100 PALETTE P,[G,R,B],0
  11. 110 NEXT
  12. 120 LINE(0,0)-(640,480),PSET,%13,BF:LINE(102,2)-(537,477),PSET,%14,BF
  13. 130 SYMBOL(575,120),"太筆",.9!,1,7,,OPAQUE,1
  14. 140 LINE(580,215)-(600,235),PSET,%0,BF:CONSOLE 0,24,2
  15. 150 READ X1,Y1,X2,Y2
  16. 160 IF X1=999 THEN GOTO 200
  17. 170 CONNECT (X1,Y2)-(X2,Y2)-(X2,Y1),0
  18. 180 CONNECT (X2,Y1)-(X1,Y1)-(X1,Y2),7
  19. 190 GOTO 150
  20. 200 READ X1,Y1,X2,Y2
  21. 210 IF X1=999 THEN GOTO 250
  22. 220 CONNECT (X1,Y2)-(X2,Y2)-(X2,Y1),7
  23. 230 CONNECT (X2,Y1)-(X1,Y1)-(X1,Y2),0
  24. 240 GOTO 200
  25. 250 DATA 1,80,80,80
  26. 260 DATA 2,150,150,150
  27. 270 DATA 3,50,200,40
  28. 280 DATA 13,110,110,110
  29. 290 DATA 14,230,230,230
  30. 300 DATA 100,0,540,479
  31. 310 DATA 550,100,630,430
  32. 320 DATA 560,150,620,200
  33. 330 DATA 560,250,620,300
  34. 340 DATA 560,310,620,340
  35. 350 DATA 560,350,620,380
  36. 360 DATA 560,390,620,420
  37. 370 DATA 999,0,0,0
  38. 380 DATA 570,110,610,140
  39. 390 DATA 570,210,610,240
  40. 400 DATA 999,0,0,0
  41. 410 READ X,Y,M$
  42. 420 IF X=999 THEN GOTO 580
  43. 430 SYMBOL(X,Y),M$,.9!,1,7,,,1
  44. 440 GOTO 410
  45. 450 DATA 570,160,筆
  46. 460 DATA 580,180,変更
  47. 470 DATA 570,260,色
  48. 480 DATA 580,280,変更
  49. 490 DATA 563,317,紙取替え
  50. 500 DATA 563,357,作品提出
  51. 510 DATA 570,397,END
  52. 520 DATA 2,2,お習字ソフト
  53. 530 DATA 5,20,「雅彦ョ」
  54. 540 DATA 35,38,Ver 2.0
  55. 550 DATA 550,20,右クリックで
  56. 560 DATA 550,40,Menuに入れる
  57. 570 DATA 999,0,0
  58. 580 MOUSE 4,101+Z/2,1+Z/2,538-Z/2,478-Z/2:MOUSE 1,320,,1:POINT(MOUSE(0),MOUSE(1))
  59. 590 IF MOUSE(2,0) THEN H=H+ZO
  60. 600 IF H>Z THEN H=Z
  61. 610 H=H-GE
  62. 620 IF H<0 THEN H=0:POINT(MOUSE(0),MOUSE(1))
  63. 630 IF H=0 THEN GOTO 660
  64. 640 DEF PEN 0,H
  65. 650 LINE -(MOUSE(0),MOUSE(1)),PSET,%C
  66. 660 IF MOUSE(2,1) ELSE GOTO 590
  67. 670 MOUSE 4,550,100,630,430
  68. 680 IF MOUSE(2,1)=0 ELSE GOTO 680
  69. 690 H=0
  70. 700 IF MOUSE(2,1) ELSE GOTO 730
  71. 710 MOUSE 4,101+Z/2,1+Z/2,539-Z/2,478-Z/2:MOUSE 1,320,,1:POINT(MOUSE(0),MOUSE(1))
  72. 720 IF MOUSE(2,1)=0 THEN GOTO 580 ELSE GOTO 720
  73. 730 IF MOUSE(2,0) ELSE GOTO 700
  74. 740 IF MOUSE(2,0)=0 ELSE GOTO 740
  75. 750 MX=MOUSE(0):MY=MOUSE(1)
  76. 760 IF MX>560 AND MY>150 AND MX<620 AND MY<200 THEN GOTO 820
  77. 770 IF MX>560 AND MY>250 AND MX<620 AND MY<300 THEN GOTO 900
  78. 780 IF MX>560 AND MY>310 AND MX<620 AND MY<340 THEN GOTO 940
  79. 790 IF MX>560 AND MY>350 AND MX<620 AND MY<380 THEN GOTO 960
  80. 800 IF MX>560 AND MY>390 AND MX<620 AND MY<420 THEN GOTO 1080
  81. 810 GOTO 730
  82. 820 IF Z=5 THEN GOTO 860
  83. 830 IF Z=10 THEN GOTO 880
  84. 840 Z=5:ZO=.6!:GE=.4!:SYMBOL(575,120),"細筆",.9!,1,7,,OPAQUE,1
  85. 850 GOTO 690
  86. 860 Z=10:ZO=1:GE=.5!:SYMBOL(575,120),"太筆",.9!,1,7,,OPAQUE,1
  87. 870 GOTO 690
  88. 880 Z=16:ZO=1.4!:GE=.6!:SYMBOL(575,120),"極太",.9!,1,7,,OPAQUE,1
  89. 890 GOTO 690
  90. 900 C=C+1
  91. 910 IF C=4 THEN C=0
  92. 920 DEF PEN 0,1:LINE(580,215)-(600,235),PSET,%C,BF
  93. 930 GOTO 690
  94. 940 DEF PEN 0,1:LINE(102,2)-(538,478),PSET,%14,BF
  95. 950 GOTO 690
  96. 960 MOUSE 1,,,0
  97. 970 LOCATE 0,13:PRINT "パス名"
  98. 980 LOCATE 0,14:LINE INPUT ">",PAT$
  99. 990 LOCATE 0,15:PRINT "ファイル名"
  100. 1000 LOCATE 0,16:INPUT ">",FIL$
  101. 1010 IF FIL$="" THEN GOTO 1070
  102. 1020 F$=RIGHT$(FIL$,4):F$=LEFT$(F$,1):IF F$="." THEN GOTO 1040
  103. 1030 FIL$=FIL$+".TIF"
  104. 1040 IF PAT$="" THEN GOTO 1060
  105. 1050 IF RIGHT$(PAT$,1)="\" THEN FIL$=PAT$+FIL$ ELSE FIL$=PAT$+"\"+FIL$
  106. 1060 SAVE@ FIL$,(100,0)-(540,479),1
  107. 1070 CLS 1:MOUSE 1,,,1:GOTO 690
  108. 1080 LOCATE 0,15:PRINT "終了します"
  109. 1090 LOCATE 0,16:PRINT "いいですか"
  110. 1100 LOCATE 0,17:PRINT "     (Y/N)"
  111. 1110 I$=INKEY$
  112. 1120 IF I$="Y" OR I$="y" OR MOUSE(2,0) THEN GOTO 1150
  113. 1130 IF I$="N" OR I$="n" OR MOUSE(2,1) THEN GOTO 1160
  114. 1140 GOTO 1110
  115. 1150 OUT &H05EC,1:SYSTEM
  116. 1160 IF MOUSE(2,1)=0 THEN CLS 1:GOTO 690 ELSE GOTO 1160
  117. 1170 IF ERR=64 ELSE GOTO 1290
  118. 1180 LOCATE 0,17:PRINT "ファイルが重複"
  119. 1190 LOCATE 0,18:PRINT "しています"
  120. 1200 LOCATE 0,19:PRINT "削除します"
  121. 1210 LOCATE 0,20:PRINT "     (Y/N)"
  122. 1220 I$=INKEY$
  123. 1230 IF I$="Y" OR I$="y" OR MOUSE(2,0) THEN GOTO 1260
  124. 1240 IF I$="N" OR I$="n" OR MOUSE(2,1) THEN GOTO 1280
  125. 1250 GOTO 1220
  126. 1260 KILL FIL$
  127. 1270 RESUME
  128. 1280 IF MOUSE(2,1)=0 THEN RESUME 1070 ELSE GOTO 1280
  129. 1290 IF ERR=67 ELSE GOTO 1370
  130. 1300 LOCATE 0,17:PRINT "DISKの"
  131. 1310 LOCATE 0,18:PRINT "容量が"
  132. 1320 LOCATE 0,19:PRINT "足りません"
  133. 1330 IF INKEY$<>"" OR MOUSE(2,0) ELSE GOTO 1330
  134. 1340 KILL FIL$
  135. 1350 IF MOUSE(2,0)=0 ELSE GOTO 1350
  136. 1360 RESUME 1070
  137. 1370 CLS 1
  138. 1380 LOCATE 0,17:PRINT "なんらかの"
  139. 1390 LOCATE 0,18:PRINT "エラーが"
  140. 1400 LOCATE 0,19:PRINT "出ています"
  141. 1410 E$="番号 > "+STR$(ERR)
  142. 1420 LOCATE 0,20:PRINT E$
  143. 1430 FOR A=1 TO 100:BEEP 1:BEEP 0:NEXT
  144. 1440 IF INKEY$<>"" OR MOUSE(2,0) ELSE GOTO 1430
  145. 1450 IF MOUSE(2,0)=0 ELSE GOTO 1450
  146. 1460 RESUME 1070
  147.